﻿
namespace Scada.MDSCore.Communication.Messages
{
 
    public enum MessageTransmitRules : byte
    {

        //这个是DotNetMQ独有的功能。这种类型的消息直接发送给目标应用程序。在接收者确认一个消息之前，发送者程序是一直被阻塞的。
        //所以，如果发送者在调用Send方法的过程中没有发生异常，就意味着该消息被接受者正确接收并确认。
        //如果在传送消息时发生错误，或接受者处于脱机状态，或者接受者拒绝了消息，发送者在调用Send方法时都会得到一个异常。
        //即使应用程序是在不同的服务器上（更即使在应用程序之间有许多服务器要路由），这个规则依然能正常工作。
        DirectlySend = 0,
        
  
        StoreAndForward,//这个是默认传送规则，消息是持久的，不会丢失的，并且使确保传送的。
                        ////如果Send方法没有抛出异常，就表明消息已被DotNetMQ接收，而且存储到了数据库。直到目标应用程序接收并确认了它，这个消息会一直存储在数据库里。

        NonPersistent//消息不会存储到数据库，这是发送消息最快的方式。仅在DotNetMQ服务停止工作，消息才会丢失
    }
}
